Method and System for Identifying Website Viewers

ABSTRACT

A website server computer hosting a website can identify a visitor to the website by using information provided by a visitor server computer that interacts with the visitor. The information provided by the server computer, in some embodiments, can be a combination of an IP address and characteristics of a computing device from where the visitor visits the website. In some embodiments, the IP address of the visitor server computer is used. In embodiments where the visitor may be sharing the computing device with other users, the characteristics may include at least one characteristic that is uniquely associated with the visitor. The website server computer can use a visitor identifier thus generated to start tracking the pages that the visitor requests during the session and can generate and customize pages for the visitor by using characteristics originated from the visitor.

CROSS-REFERENCE TO RELATED APPLICATIONS

This is a continuation of, and claims a benefit of priority from U.S.patent application Ser. No. 13/752,116, filed Jan. 28, 2013, entitled“METHOD AND SYSTEM FOR IDENTIFYING WEBSITE VISITORS,” which claimspriority from U.S. patent application Ser. No. 12/266,129, filed Nov. 6,2008, now U.S. Pat. No. 8,386,561, entitled “METHOD AND SYSTEM FORIDENTIFYING WEBSITE VISITORS,” which claims priority from U.S. patentapplication Ser. No. 10/616,408, filed Jul. 9, 2003, now U.S. Pat. No.7,461,120, entitled “METHOD AND SYSTEM FOR IDENTIFYING A VISITOR AT AWEBSITE SERVER BY REQUESTING ADDITIONAL CHARACTERISTIC OF A VISITORCOMPUTER FROM A VISITOR SERVER,” which claims priority from ProvisionalApplication No. 60/394,478, filed Jul. 9, 2002, entitled “SYSTEM ANDMETHOD FOR SITE VISITOR IDENTIFICATION.” This application relates toU.S. patent application Ser. No. 10/616,107, filed Jul. 9, 2003, nowU.S. Pat. No. 7,603,430, entitled “SYSTEM AND METHOD OF ASSOCIATINGEVENTS WITH REQUESTS,” and Ser. No. 10/616,136, filed Jul. 9, 2003,entitled “METHOD AND SYSTEM FOR DETECTING GAPS IN A DATA STREAM.” Allapplications listed in this paragraph are assigned to the currentassignee hereof and are incorporated herein by reference.

FIELD OF THE INVENTION

This invention relates in general to the operation of a network siteand, more particularly, to identification of visitors to the networksite.

DESCRIPTION OF THE RELATED ART

The number of visitors visiting a web site (i.e., “visitoridentification”) is an important metric for most commercial sites.Investors use the metric to gauge the value of a site, advertisers usethe metric to determine what is a reasonable amount of money to pay forads on the site, businesses use the metric to determine their owninternal return of investment for their site. Therefore, the ability tocapture more accurately visitor counts can be a real competitiveadvantage.

Many systems (e.g., WebTrends) use only the Internet Protocol (“IP”)address and end up counting multiple individual users from the same IPaddress as a single user. This technique of using IP addresses workedduring the early days of the Internet when computers connected to theInternet typically had hardwired IP addresses and the use of NetworkAddress Translation (NAT) gateways was minimal. As the number of IPaddress started running out and security concerns increased, the use ofNAT gateways and dynamic IP addresses have become commonplace.

Another method of identifying visitors is through the use of cookies. Aweb browser on the visitor computer may be set to not allow cookies or avisitor may not want to provide information to be used to generate thecookies. Therefore, a method or system that depends on cookies may beunavailable.

SUMMARY OF THE INVENTION

A method and system can be used to identify visitors at a network site(e.g., a website) by using a combination of an address andcharacteristic(s) of an individual visitor computer. An example of anaddress can be a network address, an IP address, or the like. Examplesof the characteristic of the individual visitor computer can include thetype of the computer, Central Processing Unit (“CPU”) identifier,operating system (“OS”), browser application and version, compatibilityof the browser application with other browser applications, displaysize, screen resolution, locale information, installed plug-in softwarecomponent(s), mimetypes supported, whether a programming language (e.g.,Java) is enabled, accessories that can be activated by a browserapplication, or any other information that may be used in locating orgenerating a page for the individual visitor computer requesting theinformation, whether or not such information is actually used by awebsite server computer. The method and system is more accurate thanjust using an IP address, and the information used for visitoridentification will not usually be blocked if cookies are unavailable.

The method and system improves the ability to identify a visitor only byusing the information a website server computer regularly receives inreceiving and responding to requests. From the perspective outside thewebsite, the method and system are transparent. From the visitor'sperspective, he or she does not need to complete a form or send anyadditional information. From the network (e.g., Internet) perspective,the load on the network does not change by using the method and system.The characteristics are routinely transmitted and may be used by anetwork computer in locating or generating a page corresponding to arequest from the visitor computer. In an alternative embodiment, awebsite server computer may request more characteristics of anindividual visiting computer from which the request originates, but suchrequests do not significantly increase traffic on network.

In one set of embodiments, a method of identifying a visitor at anetwork site can comprise receiving an address from a first visitorcomputer and a first characteristic of a second visitor computer. Themethod can also comprise generating a first visitor identifier using theaddress and the first characteristic.

In another set of embodiments, a data processing system readable mediumcomprising code embodied in a data processing system readable medium.The code can comprise an instruction for accessing an address from afirst visitor computer and a first characteristic of a second visitorcomputer. The code can also comprise an instruction for generating afirst visitor identifier using the address and the first characteristic.

In a further set of embodiments, a system for identifying a visitor at anetwork site can comprise individual visitor computers, a network sitecomputer, and a visitor control computer. The visitor control computercan be bidirectionally coupled to the individual visitor computers andthe network site computer. The visitor control computer may beconfigured to not provide an address of any individual visitor computerto the network site computer. The network site computer may beconfigured to generate a visitor identifier from an address receivedfrom the visitor control computer and a characteristic of at one of theindividual visitor computers.

The foregoing general description and the following detailed descriptionare exemplary and explanatory only and are not restrictive of theinvention, as defined in the appended claims.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention is illustrated by way of example and not limitation in theaccompanying figures.

FIG. 1 includes an illustration of a network system including internallynetworked computers coupled to an external network server computer viaan external network, wherein the system includes a software componentwith code having instructions in accordance with an embodiment of theinvention.

FIGS. 2-3 include a process flow diagram for identifying a visitor inaccordance with an embodiment of the invention.

FIG. 4 includes an illustration of a network system including a sharedcomputer coupled to an external server computer via an external network,wherein the system includes a software component with code havinginstructions in accordance with an embodiment of the invention.

Skilled artisans appreciate that elements in the figures are illustratedfor simplicity and clarity and have not necessarily been drawn to scale.For example, the dimensions of some of the elements in the figures maybe exaggerated relative to other elements to help to improveunderstanding of embodiments of the invention.

DETAILED DESCRIPTION

Reference is now made in detail to the exemplary embodiments of theinvention, examples of which are illustrated in the accompanyingdrawings. Wherever possible, the same reference numbers will be usedthroughout the drawings to refer to the same or like parts (elements).

A method and system can be used to identify visitors at a network site(e.g., a website) by using a combination of an address andcharacteristic(s) of an individual visitor computer. An example of anaddress can be a network address, an IP address, or the like. Examplesof the characteristic of the individual visitor computer can include thetype of the computer, CPU identifier, OS, browser application andversion, compatibility of the browser application with other browserapplications, display size, screen resolution, locale information,installed plug-ins, mimetypes supported, whether a programming language(e.g., Java) is enabled, accessories that can be activated by a browserapplication, or any other information that may be used in locating orgenerating a page for the individual visitor computer requesting theinformation, whether or not such information is actually used by awebsite server computer. The method and system is more accurate thanjust using an IP address, and the information used for visitoridentification will not usually be blocked if cookies are unavailable.

The method and system improves the ability to identify a visitor only byusing the information a website server computer regularly receives inreceiving and responding to requests. From the perspective outside thewebsite, the method and system are transparent. From the visitor'sperspective, he or she does not need to complete a form or send anyadditional information. From the network (e.g., Internet) perspective,the load on the network does not need to change by using the method andsystem. The characteristics are routinely transmitted and may be used bya network computer in locating or generating a page corresponding to arequest from the visitor computer. In an alternative embodiment, awebsite server computer may request more characteristics of anindividual visiting computer from which the request originates, but suchrequests do not significantly increase traffic on network.

A few terms are defined or clarified to aid in understanding thedescriptions that follow. A network includes an interconnected set ofserver and client computers over a publicly available medium (e.g., theInternet) or over an internal (company-owned) system. A user at a clientcomputer may gain access to the network using a network access provider.An Internet Service Provider (“ISP”) is a common type of network accessprovider.

The term “session” is intended to mean a period over which request(s)from a single user that is (are) typically associated with a task at anetwork site, such as obtaining information, ordering products, etc. Asession begins when the single user makes an initial request and endswhen the single user leaves the network site or when inactivity fromsuch single user at the network site exceeds a predetermined time period(e.g., 10 minutes, an hour, etc.).

The term “software component” is intended to mean at least a portion ofa computer program (i.e., a software application). Examples include avisitor identifier generator software component, a plug-in softwarecomponent, or the like. Different software components may reside in thesame computer program or in different computer programs on the samecomputer or different computers.

As used herein, the terms “comprises,” “comprising,” “includes,”“including,” “has,” “having” or any other variation thereof, areintended to cover a non-exclusive inclusion. For example, a method,process, article, or apparatus that comprises a list of elements is notnecessarily limited to only those elements but may include otherelements not expressly listed or inherent to such method, process,article, or apparatus. Further, unless expressly stated to the contrary,“or” refers to an inclusive or and not to an exclusive or. For example,a condition A or B is satisfied by any one of the following: A is true(or present) and B is false (or not present), A is false (or notpresent) and B is true (or present), and both A and B are true (orpresent).

Attention is now directed to an exemplary hardware configuration asshown in FIG. 1 that may be used in accordance with an embodiment of thepresent convention. Referring to FIG. 1, a plurality of individualvisitor computers 102, 104, 106, 108, and 109 that may bebidirectionally coupled to visitor server computer 120 via internalnetwork 110. Individual visitor computers 102, 104, 106, 108, or 109 maybe client computers or connected in a peer-to-peer configuration.Individual visitor computers 102, 104, 106, 108, or 109 and visitorserver computer 120 may lie within firewall 100. Visitor server computer120 may be bidirectionally coupled to website server computer 140 viaexternal network 130, such as the Internet. Therefore, from theperspective of website server computer 140, everything within firewall100 may be viewed as “visitors.” Website server computer 140 may bebidirectionally coupled to a database 160. The website server computer140 is an example of a network computer. Additionally, visitor servercomputer 120 may act as a visitor control computer as it can act as agateway and a security checkpoint for individual visitor computers 102,104, 106, 108, and 109 within firewall 100.

Visitor server computer 120 can include a central processing unit(“CPU”) 122, a read-only memory (“ROM”) 124, a random access memory(“RAM”) 126, a hard drive (“HD”) or storage memory 128, and input/outputdevice(s) (“I/O”) 129. I/O 129 can include a keyboard, monitor, printer,electronic pointing device (e.g., mouse, trackball, stylus, etc.), orthe like. Website server computer 140 likewise has CPU 142, ROM 144, RAM146, HD 148, and I/O 149.

Each of the individual visitor computers 102, 104, 106, 108, and 109 mayhave one or more of CPU, ROM, RAM, HD, and I/O. Examples of theindividual visitor computers include a personal computer, a workstation,a personal digital assistant (“PDA”), a cellular phone, a pager, and thelike. More or fewer individual visitor computers may be coupled tovisitor server computer 120.

Each of the computers 102, 104, 106, 108, 109, 120, and 140 is anexample of a data processing system. ROM, RAM, HD, and databases caninclude media that can be read by the CPU of a computer. Therefore, eachof these types of memories includes a data processing system readablestorage medium. These memories may be internal or external to thecomputers.

The methods described herein may be implemented in suitable softwarecode that may reside within ROM, RAM, or HD. The instructions in anembodiment of the invention may be contained on a data storage device,such as HD 148. A software component for carrying out the methodsdescribed herein can comprise a combination of software code elementsthat are embodied within a data processing system readable storagemedium on HD 148. Alternatively, the instructions may be stored assoftware code elements on a DASD array, magnetic tape, floppy diskette,optical storage device, or other appropriate data processing systemreadable storage medium or device.

In an illustrative embodiment of the invention, the computer-executableinstructions may be lines of assembly code, compiled C⁺⁺, Java, or otherlanguage code. The functions of any one of the computers may beperformed by a different computer. Additionally, a computer program orits software components with such code may be embodied in more than onedata processing system readable storage media in more than one computer.FIGS. 2-3 include an illustration, in the form of a flowchart, of thestructures and operations of such software program(s).

Communications between any of the computers can be accomplished usingelectronic, optical, radio-frequency, or other signals. For example,when a user is at individual visitor computer 102, 104, 106, 108, or109, such individual visitor computer may convert the signals to a humanunderstandable form when sending a communication to the user and mayconvert input from a human to appropriate electronic, optical,radio-frequency, or other signals to be used by that computer or othercomputers. Likewise, when an operator is at website server computer 140,website server computer 140 may convert the signals to a humanunderstandable form when sending a communication to the operator and mayconvert input from a human to appropriate electronic, optical,radio-frequency, or other signals to be used by that computer or othercomputers.

Before turning to the details of the method, more details regarding theindividual visitor computers are given. Note that individual visitorcomputers 102, 104, 106, 108, and 109 may be similar or differentcompared to one another. The similarities or differences may be relatedto differences in types of the computers (personal computer, aworkstation, a PDA, a cellular phone, a pager, etc.), CPU identifier(Intel x486™ class, Pentium 3™ class, Power PC 3™ class, etc.) OSs(Windows 2000™, Linux, MacOS X™ (etc.), browser applications andversions (Netscape 7.0™, Internet Explorer 6.0™, Apple Safari™, Opera7.1™, etc.), display size (display for personal computer, PDA, cellularphone, pager, etc.), screen resolution (800×600 pixels, 1024×768pixels), locale information (language, geographic region, time zone,etc.), installed plug-in software components mimetypes supported,whether a programming language (e.g., Java) is enabled, accessories thatcan be activated by a browser application, or any other information thatmay be transmitted by the visitor server computer 120 in providinginformation to the website server computer 140 in order to locate orgenerate a page for the individual visitor computer requesting theinformation.

With all this information available, the likelihood of properlydistinguishing between individual visitor computers increases as thenumber of characteristics is considered. For example, individual visitorcomputer 102 may be a personal computer using a Windows 2000™ OS,Internet Explorer 6.0™ browser, have locale information corresponding tothe U.S., and have a screen resolution of 800×600 pixels. Individualvisitor computer 104 may be similar to individual visitor computer 102except that Netscape 7.1™ browser and a screen resolution of 1024×768pixels is used. Individual computer 106 may be similar to individualvisitor computer 104 except that MacOS X™ OS and Apple Safari™ browsermay be used. Individual computer 108 may be similar to individualvisitor computer 104 except that Opera 7.1™ browser may be used.Individual computer 109 may be similar to individual visitor computer104 except that it has a unique set of plug-in software componentsactivated. As can be seen, each of the individual visitor computers hasat least one different characteristic of the browsing environment ascompared to the other individual visitor computers.

Attention is now directed to an exemplary method for using the system inorder for website server computer 140 to identify more accurately anindividual visitor. FIGS. 2-3 include one non-limiting, exemplary methodof using the system in accordance with an embodiment of the invention.After reading this specification, skilled artisans will appreciate thatmany other embodiments may be used.

Referring to FIG. 2, the exemplary method can comprise sending a requestfor information from individual visitor computer 102, 104, 106, 108, or109 (“requesting visitor computer”) to visitor server computer 120(block 202 in FIG. 2), sending an IP address of visitor server computer120 and characteristics of the requesting visitor computer from visitorserver computer 120 to website server computer 140 (block 222),requesting further characteristics about the requesting visitor computer(optional) (block 224), and generating a visitor identifier using the IPaddress and any one or more of the characteristics of the requestingvisitor computer (block 242). Referring to FIG. 3, the exemplary methodcan continue with starting session tracking using the visitor identifier(block 302), generating a page corresponding to the request (block 304),sending the page from website server computer 140 to visitor servercomputer 120 (block 306), forwarding the page from visitor servercomputer 120 to the requesting visitor computer (block 308), and endingthe session (block 310).

The method will be explained in more detailed below to give a betterunderstanding of the invention and some alternatives. Referring to FIG.2, the method can comprise sending a request for information from therequesting visitor computer (e.g., individual visitor computer 102, 104,106, 108, or 109) to visitor server computer 120. The request caninclude a Uniform Resource Locator (“URL”), an address or otheridentifier for requesting visitor computer that is recognized by visitorserver computer 120, and one or more characteristics of the requestingvisitor computer.

The characteristics may be within a header portion of a request in theHypertext Transfer Protocol (“HTTP”). In one embodiment, the user-agentinformation in the user-agent string of the requesting visitor computermay be used as the characteristic. A user-agent string specification hasbeen published by The Mozilla Organization and can be found at http://www.mozilla.org/build/revised-user-agent-strings.html. The user-agentstring specification is incorporated herein by reference. The user-agentinformation can include the browser application and version andcompatibility information regarding the browser application. Forexample, the user-agent information may include Internet Explorer 6.0™browser that is also compatible with an Internet Explorer 5.x™ browseror Internet Explorer 4.x™ browser. In another example, the user-agentinformation may include Opera 7.1™ browser that is also compatible withan Internet Explorer 6.x™ Internet Explorer 5.x™, Netscape 6.x™ orNetscape 4.7™ browser.

Additional user-agent information may include the type of computer, OS,CPU identifier, locale information, a display size, or a resolutionsetting, or the like. In addition to the user-agent information, otherinformation in the header of the request may be used.

Note that the content within the user-agent string may vary depending onthe browser and configuration of the requesting visitor computer.Therefore, some of the attributes previously listed as potentially beingwithin the user-agent string (e.g., OS, locale information) may not bewithin the user-agent string but may still be present elsewhere withinthe header portion of the request. Such information may includemimetypes supported, installed plug-in software components, accessoriesthat can be activated by a browser application, or whether a specificprogramming language (e.g., Java) is enabled.

Note that the information regarding the requesting visitor computer maybe needed or useful to website server computer 140 in locating orgenerating a page for the requesting visitor computer. Note that theinformation does not have to be used by website server computer 140; itmay be provided in the ordinary course of sending requests from therequesting visitor computer.

The method can further comprise sending an IP address of visitor servercomputer 120 and characteristics of the requesting visitor computer fromvisitor server computer 120 to website server computer 160 (block 222).The actual address of requesting visitor computer may not be transmittedthrough the firewall 100. Visitor server computer 120 may mask theactual address of requesting visitor computer. Visitor server computer120 may use its IP address for all requests going outside firewall 100or may assign one IP address from a set of IP addresses. However,characteristics of the requesting visitor computer may be needed or atleast be helpful in locating or generating a page by website servercomputer 160. Therefore, the characteristics of the requesting visitorcomputer can be sent from visitor server computer 120 and received bywebsite server computer 140 via external network 130.

Optionally, website server computer 140 may request additionalinformation regarding the characteristics about the requesting visitorcomputer beyond the information in the request from the visitor servercomputer. The request from website server computer 140 may be sent viaexternal network to visitor server computer 120. An example of thecharacteristic of the requesting visitor computer may include a CPUidentifier for the CPU used by the requesting visitor computer if it wasnot provided with the request from visitor server computer 120. Othercharacteristics may include other hardware or firmware configurations ofthe requesting visitor computer. The ability to identify more accuratelyrequesting visitor computers generally increases as more characteristicsare used by website server computer 140.

Website server computer 140 can generate a visitor identifier using theIP address and any one or more of the characteristics of the requestingvisitor computer (block 242). Note that the IP address will be the IPaddress as provided by visitor server computer 140, rather than theactual address of the requesting visitor computer. Website servercomputer 140 can take the header portion from the request and parse itto determine the characteristics of the requesting visitor information.Note that some of the information for the characteristics may not betransmitted within the header portion of the request and may be obtainedby website server computer 140 requesting additional informationregarding the requesting visitor computer as previously described.

At website server computer 140, a visitor identifier generator softwarecomponent within HD 148 may be loaded into RAM 146 and be executed byCPU 142. CPU 142 may be able to take the inputs from the IP address andany one or more of the characteristics of the requesting visitorcomputer and execute the instructions of the visitor identifiergenerator software component to generate a visitor identifier. Thevisitor identifier may be a composite key of nearly any length in sizeand can include nearly any type of character (alphabetic, numerical,punctuation or other ASCII characters, or combinations thereof). In oneimplementation, the composite key corresponding to the visitoridentifier may be generated using concatenation of the information, ahashing function, combination thereof, or the like. The actualimplementation selected is not critical and can vary based upon thedesires of the operator of website server computer 140. After a visitoridentifier is generated, the visitor identifier may be cached within RAM146, stored onto HD 148, or transmitted to database 160.

Many different subsequent actions may be taken at this point in themethod. The following is one of many different applications for usingthe visitor identifier. For example the visitor identifier may becompared to existing visitor identifiers within database 160 todetermine if the same visitor identifier has been used at website servercomputer 140.

The method can further comprise starting session tracking using thevisitor identifier (block 302 in FIG. 3). A web log may be used to keeptrack of the pages that the visitor requests during the same session.After receiving the request, the method can further comprise generatinga page corresponding to the request (block 304). Web server computer 140can generate and customize the page for the requesting visitor computerby using the characteristics that originated from the requesting visitorcomputer.

The method can still further comprise sending the page from websiteserver computer 140 to visitor server computer 120 (block 306). Afterreceiving the page from website server computer 140, visitor servercomputer 120 matches the page to the requesting visitor computer. Themethod can also comprise forwarding the page from visitor servercomputer 120 to the requesting visitor computer (block 308). The processof making additional requests from the same requesting visitor computer,whether the same or different, can be iterated any number of timesduring a single session. At the end of the session, the method cancomprise ending the session (block 310).

Some advantages of the method and system are noted. Even if all requestsfrom individual visitor computers 102, 104, 106, 108, and 109 aredesignated with the same IP address when their requests are sent fromvisitor server computer 120 to website server computer 140, thedifferent characteristics of the individual visitor computers 102, 104,106, 108, and 109 may be detected. Each individual visitor computer 102,104, 106, 108, or 109 may have its own unique combination of an IPaddress and characteristics. Therefore, each of the individual visitorcomputers 102, 104, 106, 108, and 109 can have its own visitoridentifier without the use of a cookie or the actual address for suchindividual visitor computer. The method can use information as simple asan IP address and user-agent information in the user-agent string.Alternatively, additional characteristics can be determined from therequest, if present.

The information used for generating the visitor identifier can be thesame information that is used to locate and generate pages in responseto requests even if cookies or the actual address of individual visitorcomputer 102, 104, 106, 108, or 109 is used or available. Therefore,additional unnecessary information is not being collected by visitorserver computer 120 or transmitted between visitor server computer 120and website server computer 140. The amount of computer resources neededto generate and use the visitor identifier in nearly all embodimentsshould be insignificant.

Even if further a request for characteristics of the requesting visitorcomputer is made by website server computer 140, the added traffic isexpected to be insignificant, as relatively small portions of ASCII orsimilar text may be transmitted, as opposed to a long text document(over 100 Kb long) or video or image files that are also transmittedover network 110 and 130.

Another alternative hardware configuration can be seen in FIG. 4. FIG. 4includes a shared computer 420 that may be used by a number of differentusers 402, 404, and 406. Shared computer 420 includes a CPU 422, ROM424, RAM 426, HD 428, and I/O 429. Shared computer 420 may allowdifferent individual accounts for the different users. In thisconfiguration, the same computer, OS, browser application and versionmay be used. However, the different users may have different resolutionsettings, different configurations of plug-in software componentsactivated, or other differences. Therefore, each individual user accountmay result in different characteristics for each of users 402, 404, and406 even though they may use the same computer, OS, browser applicationand version. As long as at least one characteristic is different betweenusers 402, 404, and 406, website server computer 140 can distinguishbetween the different users 402, 404, and 406. Note that from theperspective of website server computer 140, the type of informationreceived by website server computer 140 over external network 130 inFIG. 4 may not appear any different from the type of informationreceived from the configuration shown in FIG. 1.

In still another alternative embodiment, the method can also beimplemented in a configuration where a single user at single computer(not shown) is coupled to the website server computer 140 via externalnetwork 130. Therefore, the method is flexible to handle a wide varietyof configurations.

In the foregoing specification, the invention has been described withreference to specific embodiments. However, one of ordinary skill in theart appreciates that various modifications and changes can be madewithout departing from the scope of the invention as set forth in theclaims below. Accordingly, the specification and figures are to beregarded in an illustrative rather than a restrictive sense, and allsuch modifications are intended to be included within the scope ofinvention.

Benefits, other advantages, and solutions to problems have beendescribed above with regard to specific embodiments. However, thebenefits, advantages, solutions to problems, and any element(s) that maycause any benefit, advantage, or solution to occur or become morepronounced are not to be construed as a critical, required, or essentialfeature or element of any or all the claims.

What is claimed is:
 1. A method, comprising: responsive to an action bya user, a first visitor computer making an initial request to a networksite through a second visitor computer, the initial request containingan actual address of the first visitor computer and characteristics ofthe first visitor computer; the second visitor computer receiving theinitial request from the first visitor computer; the second visitorcomputer masking the actual address of the first visitor computer in theinitial request with a network address; the second visitor computersending a request containing the network address and the characteristicsof the first visitor computer to a server computer supporting thenetwork site, wherein the server computer supporting the network sitegenerates a visitor identifier for the user using a combination of thenetwork address and at least one of the characteristics of the firstvisitor computer, starts tracking a session using the visitor identifierfor the user, generates a page corresponding to the request, and sendsthe page to the second visitor computer; responsive to receiving thepage from the server computer supporting the network site, the secondvisitor computer matching the page to the first visitor computer; andthe second visitor computer sending the page received from the servercomputer supporting the network site to the first visitor computer. 2.The method according to claim 1, wherein the action by the usercomprises obtaining information from the network site.
 3. The methodaccording to claim 1, wherein the action by the user comprises orderinga product from the network site.
 4. The method according to claim 1,wherein the first visitor computer is one of a plurality of usercomputers communicatively connected to the second visitor computer. 5.The method according to claim 1, wherein the user is one of a pluralityof users using the first visitor computer via different individualaccounts and wherein the characteristics of the first visitor computerinclude at least one characteristic particularly associated with theuser.
 6. The method according to claim 1, wherein the session isterminated by the server computer supporting the network site when theuser leaves the network site or when inactivity from the user at thenetwork site exceeds a predetermined time period.
 7. The methodaccording to claim 1, wherein the first visitor computer and the secondvisitor computer reside on a single machine coupled to the network site.8. A system, comprising: a first visitor computer; and a second visitorcomputer, wherein the first visitor computer is configured for:responsive to an action by a user, making an initial request to anetwork site through the second visitor computer, the initial requestcontaining an actual address of the first visitor computer andcharacteristics of the first visitor computer; wherein the secondvisitor computer is configured for: receiving the initial request fromthe first visitor computer; masking the actual address of the firstvisitor computer in the initial request with a network address; sendinga request containing the network address and the characteristics of thefirst visitor computer to a server computer supporting the network site,wherein the server computer supporting the network site generates avisitor identifier for the user using a combination of the networkaddress and at least one of the characteristics of the first visitorcomputer, starts tracking a session using the visitor identifier for theuser, generates a page corresponding to the request, and sends the pageto the second visitor computer; responsive to receiving the page fromthe server computer supporting the network site, matching the page tothe first visitor computer; and sending the page received from theserver computer supporting the network site to the first visitorcomputer.
 9. The system of claim 8, wherein the action by the usercomprises obtaining information from the network site.
 10. The system ofclaim 8, wherein the action by the user comprises ordering a productfrom the network site.
 11. The system of claim 8, further comprising: aplurality of user computers communicatively connected to the secondvisitor computer, wherein the first visitor computer is one of theplurality of user computers.
 12. The system of claim 8, wherein the useris one of a plurality of users using the first visitor computer viadifferent individual accounts and wherein the characteristics of thefirst visitor computer include at least one characteristic particularlyassociated with the user.
 13. The system of claim 8, wherein the sessionis terminated by the server computer supporting the network site whenthe user leaves the network site or when inactivity from the user at thenetwork site exceeds a predetermined time period.
 14. The system ofclaim 8, wherein the first visitor computer and the second visitorcomputer reside on a single machine coupled to the network site.
 15. Acomputer program product comprising at least one non-transitory computerreadable medium including instructions translatable by at least oneprocessor to perform: receiving an initial request from a first visitorcomputer responsive to an action by a user at the first visitorcomputer, the initial request containing an actual address of the firstvisitor computer and characteristics of the first visitor computer;masking the actual address of the first visitor computer in the initialrequest with a network address; sending a request containing the networkaddress and the characteristics of the first visitor computer to aserver computer supporting a network site, wherein the server computersupporting the network site generates a visitor identifier for the userusing a combination of the network address and at least one of thecharacteristics of the first visitor computer, starts tracking a sessionusing the visitor identifier for the user, generates a pagecorresponding to the request, and returns the page; responsive toreceiving the page from the server computer supporting the network site,matching the page to the first visitor computer; and sending the pagereceived from the server computer supporting the network site to thefirst visitor computer.
 16. The computer program product of claim 15,wherein the action by the user comprises obtaining information from thenetwork site.
 17. The computer program product of claim 15, wherein theaction by the user comprises ordering a product from the network site.18. The computer program product of claim 15, wherein the first visitorcomputer is one of a plurality of computers and wherein the instructionsare further translatable by the at least one processor to perform thereceiving, the masking, the sending, and the matching for each of theplurality of computers.
 19. The computer program product of claim 15,wherein the user is one of a plurality of users using the first visitorcomputer via different individual accounts and wherein thecharacteristics of the first visitor computer include at least onecharacteristic particularly associated with the user.
 20. The computerprogram product of claim 15, wherein the session is terminated by theserver computer supporting the network site when the user leaves thenetwork site or when inactivity from the user at the network siteexceeds a predetermined time period.